アプリケーションでデータ・ストアへのクライアント/サーバー接続を作成できない場合は、まず、「アプリケーションでデータ・ストアへのダイレクト・ドライバ接続を作成できない」に示す手順を確認します。それでも問題が解決しない場合は、次の手順を確認してください。
考えられる原因
|
対処
|
---|---|
クライアント/サーバー構成に互換性がない | |
TimesTenデータ・ストアのアクセス制御が有効になっているが、ユーザーにアクセス権がない | |
TimesTen Serverが稼働しているシステムが正しく識別されていない | |
TimesTen Server DSNが見つからない | |
サーバーで障害が発生した | |
TimesTen ServerがDRIVERのロードに失敗した | |
TimesTen Serverへのアクセス時にアプリケーションのタイムアウトが発生した | |
TimesTen ClientがTimesTen Serverとの接続を失った | |
共有メモリー・セグメントの最大サイズが小さすぎる | |
IPC用の共有メモリー・セグメントとの接続に失敗した | |
その他の問題 | TimesTenデーモン・ログを確認する(「ttDaemonLogユーティリティの使用」を参照) |
サポートされるTimesTenのクライアントとサーバーのプラットフォーム間の互換性を確認します。
データ・ストアのアクセス制御が有効な場合は、DSNで属性Authenticate=1が設定されていることと、ユーザーIDとPWDCryptの設定が正しいことを確認します。
クライアントDSNの「Server Name Setup」値を確認して、TimesTen Serverが稼働中のシステムが正しく識別されていることを確認します。
Windowsの場合:
Windowsクライアント・マシンでは、ODBCデータソース アドミニストレータの一部として表示される「TimesTen Data Source Setup」ダイアログ・ボックスで「TimesTen Server」を選択します。TimesTen Serverを検証するには、次の手順を実行します。
注意: | 「TimesTen Data Source Setup」の「Server Name」フィールドにホスト名またはネットワーク・アドレスを直接入力すると、クライアントは、デフォルトのポートを使用してTimesTen Serverへの接続を試行します。 |
「Network Address」および「Port Number」の値が正しい場合、TimesTen Serverが稼働していない可能性があります。サーバーを手動で起動する方法については、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のWindowsでのOracle TimesTen Data Managerサービスの起動および停止に関する項を参照してください。また、この問題の識別方法の詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』の接続のテストに関する説明を参照してください。
UNIXの場合:
UNIXの場合、クライアント・マシン上のODBC.INIファイルのTTC_Server接続属性でTimesTen Serverを指定します。TTC_Serverに指定する値が実際のホスト名またはIPアドレスの場合、クライアントは、デフォルトのポートを使用してTimesTen Serverに接続を試行します。TimesTenでは、デフォルトのポートはTimesTenのリリース番号と関連付けられています。TTC_Serverに指定する値が論理ServerNameの場合、この論理ServerNameは、/var/TimesTen/sys.ttconnect.ini
ファイルで定義する必要があります。このServerNameをTTCONNECT.INIファイルで定義する場合は、ホスト名、IPアドレス、およびTimesTen Serverがリスニングを行っているポート番号を正しく指定する必要があります。
「Network Address」および「Port Number」の値が正しい場合、TimesTen Serverが稼働していない可能性があります。サーバーを手動で起動する方法については、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のUNIXでのデーモンの起動および停止に関する説明を参照してください。また、この問題の識別方法の詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』の接続のテストに関する説明を参照してください。
サーバーDSNのデータ・ストア・フィールドに、データ・ストアの正しいパス名が設定されていることを確認します。また、サーバーDSNのデータソース名が、クライアントDSNのTTC_Server_DSNフィールドに指定されている名前と一致することも確認します。TimesTenが従っているDSNの検索のルールについては、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のDSNの検索に関する説明を参照してください。
UNIXの場合、TimesTen Serverが稼働しているマシン上の/var/TimesTen/sys.odbc.ini
ファイルでサーバーDSNが正しく定義されていることを確認します。
Windowsの場合、TimesTen Serverが稼働しているマシンのODBCデータソース アドミニストレータでサーバーDSNがシステムDSNとして定義されていることを確認します。
データ・ストアに対してGroupRestrict属性が設定されている場合は、指定されたグループにリストされていることを確認します。GroupRestrictはAuthenticate属性を自動的に有効にするため、クライアントDSNのサーバーにアクセスするためのユーザーIDとパスワードが正しく指定されていることを確認します。
詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』の論理サーバー名の作成と構成に関する説明を参照してください。
TimesTen Serverは、接続、切断、様々な警告、エラーおよび情報エントリをログ・ファイルに記録します。TimesTen Serverで障害が発生した場合は、サーバーのログ・ファイルを確認します。ログ・エントリのリストについては、『Oracle TimesTen In-Memory Databaseエラー・メッセージおよびSNMPトラップ』のログ・エントリのリストに関する説明を参照してください。
UNIXプラットフォームで実行していて、TimesTen ODBCドライバをロードできない場合は、TimesTen Serverが稼働しているマシンで/var/TimesTen/sys.odbc.ini
ファイルを開き、接続しようとしているサーバーDSNの場所を確認します。サーバーDSNのDRIVER属性に指定した動的ライブラリが存在し、実行可能であることを確認します。
詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のUNIXでのリモート・データ・ストアへのアクセスに関する説明、およびUNIXでのDSNの作成に関する説明を参照してください。
操作に対するデフォルトのタイムアウト時間は60秒です。長い問合せでは、より長いタイムアウト時間が必要な場合があります。
UNIXプラットフォームでタイムアウト時間を長くするには、odbc.ini
ファイルのTTC_Timeout属性の値を変更します。
Windowsでタイムアウト時間を設定するには、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のタイムアウト時間および認証の設定に関する説明を参照してください。
「サーバーのログ・ファイルを確認する」で説明するとおり、TimesTen Serverのログを確認して、サーバーがクライアントとの接続を切断した原因を調べます。pingを使用してネットワークが機能しているかどうかを確認するか、またはtelnetを使用してTimesTen Serverのポート番号に接続を試行します。
共有メモリー・セグメント(SHM)をIPCとして使用している際に、TimesTen Client ODBCドライバからの次のエラー・メッセージがアプリケーションに表示される場合があります(アプリケーションがシステムに定義されているプロセス当たりのファイル記述子の制限に達した場合)。
SQLState = S1000,
Native Error = 0,
Message = [TimesTen][TimesTen 6.0 CLIENT] Server is exiting. Failed to attach to shared memory segment for IPC.
これは、クライアントDSNへの接続操作中、システムに定義されているプロセス当たりのファイル記述子の制限を超えるオープン・ファイル記述子がアプリケーションに含まれていることが原因でshmat
システム・コールが失敗した場合に発生する可能性があります。この問題を修正するには、プロセス当たりのファイル記述子の制限を増やす必要があります。
ファイル記述子の制限の詳細は、『Oracle TimesTen In-Memory Database APIリファレンス・ガイド』のオープン・ファイル数の制限に関する説明を参照してください。